Triple类的一个实例表示LLVM为其生成代码的目标平台。为了支持新的体系架构，第一个任务是扩展Triple类。在llvm/include/llvm/ADT/Triple.h文件中，可向ArchType枚举添加了一个成员和一个新的谓词:\par

\begin{lstlisting}[caption={}]
class Triple {
	public:
	enum ArchType {
		// Many more members
		m88k, // M88000 (big endian): m88k
	};
	/// Tests whether the target is M88k.
	bool isM88k() const {
		return getArch() == Triple::m88k;
	}
// Many more methods
};
\end{lstlisting}

在llvm/lib/Support/Triple.cpp文件中，有许多使用ArchType枚举的地方。需要扩展它们，例如：在getArchTypeName()方法中，添加一个新的case:\par

\begin{lstlisting}[caption={}]
	switch (Kind) {
		// Many more cases
		case m88k: return "m88k";
	}
\end{lstlisting}

大多数情况下，如果忘记在某个函数中处理新的m88k枚举成员，编译器会发出警告。接下来，我们将扩展可执行和可链接格式(ELF)定义。\par




































